"""
@Author : 合肥一元数智教育科技有限公司
@Date :  2025/2/13 14:08
@Description :   数据容器
  集合容器的使用
   1.无序
   2.不可重复
   3.数据类型不限定

"""
# 定义集合 { 元素 }   set
set_items = {1, 2, 3, 'hello', 'hello', 'world'}
print(set_items, type(set_items))

#  通过索引访问集合中的元素  集合时无序的  TypeError: 'set' object is not subscriptable
# print(set_items[0])
# print(set_items[0:4])

# 访问集合中的元素
for set_item in set_items:
    print(set_item)

# 定义空集合  set()   不能直接使用{} {}是定义空字典
# empty_set = {}
empty_set = set()
print(empty_set, type(empty_set))

# 添加元素
empty_set.add(1)
empty_set.add(2)
empty_set.add(3)
empty_set.add('hello')
empty_set.add('world')
print(empty_set)

# 删除一个指定元素
# remove_item = empty_set.remove(1)
# print(remove_item)

#  清空集合
# empty_set.clear()
# 删除一个集合
# del empty_set
# print(empty_set)


# 添加元素   TypeError: 'int' object is not iterable
# empty_set.update([10, 20, 30])
# empty_set.update('hello')
empty_set.update((30, 40, 50))
print(empty_set)

#  求集合的差集  合集  交集
set_num1 = {1, 2, 3, 4, 5, 6, 7, 8, 9}
set_num2 = {6, 7, 8, 9, 10}

# 差集
# set_diff = set_num1.difference(set_num2)
set_diff = set_num2.difference(set_num1)
print(set_diff)

# 合集
set_union = set_num1.union(set_num2)
print(set_union)

# 交集
set_all = set_num1.intersection(set_num2)
print(set_all)
